-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add IAM Identity Center module #249
Conversation
Add a module that can manage the IAM Identity Center groups, permission sets and account assignments. This PR includes the GitHub workflow changes and the GC Articles group and account assignments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Remove the existing group imports and instead create the target end-state groups and permission assignments.
Plan for org_account/iam_identity_center✅ Terraform Init: Plan: 12 to add, 0 to change, 0 to destroy Show summary
Show planResource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# aws_identitystore_group.articles_production_access_vpc_clientvpn will be created
+ resource "aws_identitystore_group" "articles_production_access_vpc_clientvpn" {
+ description = "Grants members access to the GC Articles Production Client VPN."
+ display_name = "Articles-Production-Access-VPC-ClientVPN"
+ external_ids = (known after apply)
+ group_id = (known after apply)
+ id = (known after apply)
+ identity_store_id = "d-9d67173bdd"
}
# aws_identitystore_group.articles_production_admin will be created
+ resource "aws_identitystore_group" "articles_production_admin" {
+ description = "Grants members administrator access to the GC Articles Production account."
+ display_name = "Articles-Production-Admin"
+ external_ids = (known after apply)
+ group_id = (known after apply)
+ id = (known after apply)
+ identity_store_id = "d-9d67173bdd"
}
# aws_identitystore_group.articles_production_read_only will be created
+ resource "aws_identitystore_group" "articles_production_read_only" {
+ description = "Grants members read-only access to the GC Articles Production account."
+ display_name = "Articles-Production-ReadOnly"
+ external_ids = (known after apply)
+ group_id = (known after apply)
+ id = (known after apply)
+ identity_store_id = "d-9d67173bdd"
}
# aws_identitystore_group.articles_staging_access_vpc_clientvpn will be created
+ resource "aws_identitystore_group" "articles_staging_access_vpc_clientvpn" {
+ description = "Grants members access to the GC Articles Staging Client VPN."
+ display_name = "Articles-Staging-Access-VPC-ClientVPN"
+ external_ids = (known after apply)
+ group_id = (known after apply)
+ id = (known after apply)
+ identity_store_id = "d-9d67173bdd"
}
# aws_identitystore_group.articles_staging_admin will be created
+ resource "aws_identitystore_group" "articles_staging_admin" {
+ description = "Grants members administrator access to the GC Articles Staging account."
+ display_name = "Articles-Staging-Admin"
+ external_ids = (known after apply)
+ group_id = (known after apply)
+ id = (known after apply)
+ identity_store_id = "d-9d67173bdd"
}
# aws_identitystore_group.articles_staging_read_only will be created
+ resource "aws_identitystore_group" "articles_staging_read_only" {
+ description = "Grants members read-only access to the GC Articles Staging account."
+ display_name = "Articles-Staging-ReadOnly"
+ external_ids = (known after apply)
+ group_id = (known after apply)
+ id = (known after apply)
+ identity_store_id = "d-9d67173bdd"
}
# aws_ssoadmin_account_assignment.articles["Articles-Production-Admin-472286471787"] will be created
+ resource "aws_ssoadmin_account_assignment" "articles" {
+ id = (known after apply)
+ instance_arn = "arn:aws:sso:::instance/ssoins-8824c710b5ddb452"
+ permission_set_arn = "arn:aws:sso:::permissionSet/ssoins-8824c710b5ddb452/ps-37cc13ae63647ac6"
+ principal_id = (known after apply)
+ principal_type = "GROUP"
+ target_id = "472286471787"
+ target_type = "AWS_ACCOUNT"
}
# aws_ssoadmin_account_assignment.articles["Articles-Production-Admin-762579868088"] will be created
+ resource "aws_ssoadmin_account_assignment" "articles" {
+ id = (known after apply)
+ instance_arn = "arn:aws:sso:::instance/ssoins-8824c710b5ddb452"
+ permission_set_arn = "arn:aws:sso:::permissionSet/ssoins-8824c710b5ddb452/ps-37cc13ae63647ac6"
+ principal_id = (known after apply)
+ principal_type = "GROUP"
+ target_id = "762579868088"
+ target_type = "AWS_ACCOUNT"
}
# aws_ssoadmin_account_assignment.articles["Articles-Production-ReadOnly-472286471787"] will be created
+ resource "aws_ssoadmin_account_assignment" "articles" {
+ id = (known after apply)
+ instance_arn = "arn:aws:sso:::instance/ssoins-8824c710b5ddb452"
+ permission_set_arn = "arn:aws:sso:::permissionSet/ssoins-8824c710b5ddb452/ps-6f8897f9e56fb805"
+ principal_id = (known after apply)
+ principal_type = "GROUP"
+ target_id = "472286471787"
+ target_type = "AWS_ACCOUNT"
}
# aws_ssoadmin_account_assignment.articles["Articles-Production-ReadOnly-762579868088"] will be created
+ resource "aws_ssoadmin_account_assignment" "articles" {
+ id = (known after apply)
+ instance_arn = "arn:aws:sso:::instance/ssoins-8824c710b5ddb452"
+ permission_set_arn = "arn:aws:sso:::permissionSet/ssoins-8824c710b5ddb452/ps-6f8897f9e56fb805"
+ principal_id = (known after apply)
+ principal_type = "GROUP"
+ target_id = "762579868088"
+ target_type = "AWS_ACCOUNT"
}
# aws_ssoadmin_account_assignment.articles["Articles-Staging-Admin-729164266357"] will be created
+ resource "aws_ssoadmin_account_assignment" "articles" {
+ id = (known after apply)
+ instance_arn = "arn:aws:sso:::instance/ssoins-8824c710b5ddb452"
+ permission_set_arn = "arn:aws:sso:::permissionSet/ssoins-8824c710b5ddb452/ps-37cc13ae63647ac6"
+ principal_id = (known after apply)
+ principal_type = "GROUP"
+ target_id = "729164266357"
+ target_type = "AWS_ACCOUNT"
}
# aws_ssoadmin_account_assignment.articles["Articles-Staging-ReadOnly-729164266357"] will be created
+ resource "aws_ssoadmin_account_assignment" "articles" {
+ id = (known after apply)
+ instance_arn = "arn:aws:sso:::instance/ssoins-8824c710b5ddb452"
+ permission_set_arn = "arn:aws:sso:::permissionSet/ssoins-8824c710b5ddb452/ps-6f8897f9e56fb805"
+ principal_id = (known after apply)
+ principal_type = "GROUP"
+ target_id = "729164266357"
+ target_type = "AWS_ACCOUNT"
}
Plan: 12 to add, 0 to change, 0 to destroy.
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: plan.tfplan
To perform exactly these actions, run the following command to apply:
terraform apply "plan.tfplan"
Show Conftest results20 tests, 20 passed, 0 warnings, 0 failures, 0 exceptions
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great! 🎉
Summary
Add a module that can manage the IAM Identity Center groups, permission sets and account assignments.
This includes the GitHub workflow changes and the GC Articles target state group and account assignments.
Related